Android SDK RN 框架支持
本指南将会为您介绍如何在React Native中使用Android SDK的功能。
最新版本为:1.0.0
更新时间为:2018-09-07
1. 集成Android SDK与RN支持文件
集成Android SDK请参见Android SDK 使用指南
完成Android SDK的集成后,请点此下载RN支持文件,解压后将RNThinkingAnalyticsModule.java
文件添加到您的项目工程中
文件添加完成后,在项目 Package 的createNativeModules
方法中添加RNThinkingAnalyticsModule
模块
modules.add(new RNThinkingAnalyticsModule(reactContext));
2. 在JS文件中导入模块
请在具体使用的JS文件中加入以下代码,以导入模块:
import { NativeModules } from 'react-native';
const RNThinkingAnalyticsModule=NativeModules.RNThinkingAnalyticsModule;
完成导入后即可在RN中使用SDK功能
3. 在RN中使用SDK功能
在完成导入后,即可使用SDK功能,需要注意的是,RN支持模块只是将Android SDK的接口进行封装,传输数据仍由Android SDK的实例完成的,因此在Android SDK与RN传输的数据,将会共用访客ID、账号ID以及事件公共属性。
现阶段支持SDK中的接口如下:
1) 设置账号ID
在用户进行登录时,可调用login
来设置用户的账号ID,在设置完账号ID后,将会以账号ID作为身份识别ID,并且设置的账号ID将会在调用logout
之前一直保留:
RNThinkingAnalyticsModule.login("account_id")
login
可以多次调用,每次调用会判断传入的账号ID与先前保存的ID是否一致,一致则忽略调用,不一致则会覆盖先前的ID。
请注意,该方法不会上传用户登录的事件
2) 清除账号ID
在用户产生登出行为之后,可调用logout
来清除账号ID,在下次调用login
之前,将会以访客ID作为身份识别ID:
RNThinkingAnalyticsModule.logout()
在RN中的调用logout也将清除Android SDK中的账号ID,同样Android SDK调用logout也会清除RN中的账号ID
我们推荐您在显性的登出事件时调用logout
,比如用户产生了注销账号这一行为时才调用,而不需要在关闭App时调用。
3) 发送事件
您可以调用track
来上传事件,本接口将会调用SDK中的track
接口,详细的使用说明请参考SDK文档中的track
接口的介绍:
RNThinkingAnalyticsModule.track("rn_testtrack", {"propKey":1,"propKey2":"name"})
第一个参数为该事件的事件名,第二个参数为该事件的所有属性,key值为属性名,value值为属性值
4) 记录事件时长
您可以调用trackTimerBegin
来开始计时,配置您想要计时的事件名称,当您上传该事件时,将会自动在您的事件属性中加入#duration
这一属性来表示记录的时长,单位为秒。
RNThinkingAnalyticsModule.trackTimerBegin("rn_testtrack")
传入的参数即为需要记录时间的事件的事件名,当该事件被触发时,计时将会停止,并且#duration
这一计时属性将会被记录在事件中